import { requestClient } from '#/api/request';

export namespace FileCategoriesApi {
  /** 文件对象分类信息 */
  export interface FileCategories {
    id: number; // 文件分类id
    name?: string; // 分类名称
    parentId: number; // 上级分类id
    configId?: number; // 配置编号
    status: number; // 状态（0正常 1停用）
    sort: number; // 显示顺序
    basePath: string; // 存放基础路径
    encFlag: boolean; // 默认是否加密
    securityLevel: number; // 默认文件安全级别
    maxSize: number; // 最大上传文件大小：kb
    fileExt: string; // 可上传的文件后缀（类型）
    remark: string; // 备注
    children?: FileCategories[];
  }
}

/** 查询文件对象分类列表 */
export function getFileCategoriesList(data: any) {
  return requestClient.post<FileCategoriesApi.FileCategories[]>(
    '/infra/file-categories/list',
    data,
  );
}

/** 查询文件对象分类详情 */
export function getFileCategories(id: number) {
  return requestClient.get<FileCategoriesApi.FileCategories>(
    `/infra/file-categories/get?id=${id}`,
  );
}

/** 新增文件对象分类 */
export function createFileCategories(data: FileCategoriesApi.FileCategories) {
  return requestClient.post('/infra/file-categories/create', data);
}

/** 修改文件对象分类 */
export function updateFileCategories(data: FileCategoriesApi.FileCategories) {
  return requestClient.put('/infra/file-categories/update', data);
}

/** 删除文件对象分类 */
export function deleteFileCategories(id: number) {
  return requestClient.delete(`/infra/file-categories/delete?id=${id}`);
}

/** 导出文件对象分类 */
export function exportFileCategories(params: any) {
  return requestClient.download('/infra/file-categories/export-excel', {
    params,
  });
}
/** 设置默认文件对象分类 */
export function defalutFileCategories(id: number) {
  return requestClient.put(`/infra/file-categories/update-default?id=${id}`);
}
